Previous Book Contents Book Index Next

Inside Macintosh: 3D Graphics Programming With QuickDraw 3D /


Preface - About This Book

This book, 3D Graphics Programming With QuickDraw 3D, describes QuickDraw 3D, a graphics library that you can use to define three-dimensional (3D) models, apply colors and other attributes to parts of the models, and create images of those models. You can use these capabilities to develop a wide range of applications, including interactive three-dimensional modeling, simulation and animation, data visualization, computer-aided drafting and design, games, and many other uses.

QuickDraw 3D provides these basic services:

  • A large number of predefined geometric object types. You can create multiple instances of any type of object and assign them individual characteristics.
  • Support for standard lighting types and illumination algorithms.
  • Support for standard methods of projecting a model onto a viewing plane.
  • Ability to perform both immediate and retained mode rendering, and support for multiple rendering styles.
  • Built-in support for reading and writing data stored in a standard 3D data file format (the QuickDraw 3D Object Metafile).
  • Support for any available 3D pointing devices, including devices that provide multiple degrees of freedom.
  • Support for multiple operating and window systems. QuickDraw 3D is extremely portable and operates independently of the native window system. It provides consistent capabilities and performance across all supported platforms.
  • Fast interactive rendering.

This book describes the application programming interfaces that you can use to develop applications and other software using QuickDraw 3D. Although QuickDraw 3D provides a large set of basic 3D objects and operations, it is also designed for easy extensibility, so that you can add custom capabilities (for instance, custom attributes) to those provided by QuickDraw 3D.

To use this book, you should be generally familiar with computer graphics and with 3D modeling and rendering techniques. This book explains some of the fundamental 3D concepts, but it is not intended to be either an introduction to or a technical reference for 3D graphics in general. Rather, it explains how QuickDraw 3D implements the standard techniques for 3D modeling, rendering, and interaction. You can consult the Bibliography near the end of this book for a list of some books that might help you acquire a basic knowledge of those techniques.

Note
The book 3D Computer Graphics, second edition, by Alan Watt is particularly helpful for beginners.
You should also be familiar with the techniques that underlie object-oriented programming. QuickDraw 3D is object oriented in the sense that many of its capabilities are accessed by creating and manipulating QuickDraw 3D objects. In addition, QuickDraw 3D classes (of which QuickDraw 3D objects are instances) are arranged in a hierarchy, which provides for method inheritance and method overriding.

Note
Currently, only C language programming interfaces are available.
You should begin this book by reading the chapter "Introduction to QuickDraw 3D." That chapter describes the basic capabilities provided by QuickDraw 3D and the QuickDraw 3D application programming interfaces that you use to create and manipulate objects in that hierarchy. It also provides source code samples illustrating how to use QuickDraw 3D to define, configure, and render simple 3D models.

If you just want to be able to display an existing 3D model in a window and don't need to use the powerful capabilities of QuickDraw 3D, you can use the 3D Viewer supplied with QuickDraw 3D. The 3D Viewer allows you to display 3D data with minimal programming effort. It is therefore analogous to the movie controller provided with QuickTime. Read the chapter "3D Viewer" for complete information.

Once you are familiar with the basic uses of QuickDraw 3D, you can read the remaining chapters in this book for more information on any particular topic. For example, for complete information on the types of lights provided by QuickDraw 3D, see the chapter "Light Objects."


Preface Contents
Format of a Typical Chapter
Conventions Used in This Book
Special Fonts
Types of Notes
Development Environment
For More Information

Previous Book Contents Book Index Next

© Apple Computer, Inc.
11 JUL 1996